Installing Data


Install “coinmarketcapr” data package.

library(coinmarketcapr)
Registered S3 method overwritten by 'data.table':
  method           from
  print.data.table     
library(ggplot2)
library(dplyr)

Attaching package: ‘dplyr’

The following objects are masked from ‘package:stats’:

    filter, lag

The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union
key <- '948b8972-8b87-4632-975a-1f557e76cfe2'
coinmarketcapr::setup(key)

Market Cap


The following function plots the top 15 currencies with the largest marketcaps, this shows us which coins are safer investments as large cap coins are considered more conservative.

cryptos <- get_crypto_listings()
market_cap <- cryptos$USD_market_cap
names <- cryptos$name
crypto_table <- data.frame(names,market_cap)
ordered <- order(crypto_table)
crypto_ordered <- crypto_table[,-9]
crypto_ordered
barplot(crypto_ordered$market_cap[1:15], col=rainbow(20), names.arg= crypto_ordered$names[1:15],las=2)


Percent Change 30 days


We can further create charts showing which coins have had a large positive percent change in the past 30 days.

cryptos <- get_crypto_listings()
thirtydpercent <- cryptos$USD_percent_change_30d
names <- cryptos$name
cryptothirtyd <- data.frame(names,thirtydpercent)
thirtydordered <- cryptothirtyd[order(cryptothirtyd$thirtydpercent, decreasing = TRUE), ]
thirtydordered

barplot(thirtydordered$thirtydpercent[1:15], col=rainbow(20), names.arg= thirtydordered$names[1:15],las=2)


Percent Change 7 days


We can do something similar with the following and see which coins have had a significant percent change in the past 7 days.

cryptos <- get_crypto_listings()
sevendpercent <- cryptos$USD_percent_change_7d
names <- cryptos$name
cryptosevend <- data.frame(names,sevendpercent)
sevendordered <- cryptosevend[order(cryptosevend$sevendpercent, decreasing = TRUE), ]
sevendordered

barplot(sevendordered$sevendpercent[1:15], col=rainbow(20), names.arg= sevendordered$names[1:15],las=2)


Percent Change 24h


Further we can do the same thing on a smaller scale to see which currencies have changed the most in the past 24 hours.

cryptos <- get_crypto_listings()
twentyfourpercent <- cryptos$USD_percent_change_24h
names <- cryptos$name
cryptotwentyfour <- data.frame(names,twentyfourpercent)
twentyfourordered <- cryptotwentyfour[order(cryptotwentyfour$twentyfourpercent, decreasing = TRUE), ]
twentyfourordered

barplot(twentyfourordered$twentyfourpercent[1:15], col=rainbow(20), names.arg= twentyfourordered$names[1:15],las=2)


Percent Change 24h


We can also chart the volume of the currency in order to see how much of the financial asset has been traded in the past day. Seeing a high volume shows us that a stock has high security as it is more liquid and is more actively trading.

cryptos <- get_crypto_listings()
volume <- cryptos$USD_volume_24h
names <- cryptos$name
cryptovolume <- data.frame(names,volume)
volumeordered <- cryptovolume[order(cryptovolume$volume, decreasing = TRUE), ]
volumeordered

barplot(volumeordered$volume[1:15], col=rainbow(20), names.arg= volumeordered$names[1:15],las=2)

#libraries
library(deSolve)
library(shiny)
library(shinyWidgets)
library(cryptor)
library(ggplot2)
library(plotly)

#Setting up data
btc_price_history_full = get_historical_price("BTC", "USD", limit = 2000)
btc_price = btc_price_history_full$close
btc_time = as.Date(btc_price_history_full$time)
btc_frame = data.frame(btc_time, btc_price)

#Plotting data
btc_plot <- ggplot(btc_frame, aes(x = btc_time, y=btc_price)) +
  geom_line() + 
  xlab("Time") +
  ylab("Bitcoin Price")

btc_plot <- ggplotly(btc_plot)
btc_plot
NA

By: Aaditya Surya


LS0tCnRpdGxlOiAiQmFzaWMgRURBIG9mIERhdGEiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KPGJyPjxoMz5JbnN0YWxsaW5nIERhdGE8L2gzPjxicj4KSW5zdGFsbCAiY29pbm1hcmtldGNhcHIiIGRhdGEgcGFja2FnZS4KYGBge3J9CmxpYnJhcnkoY29pbm1hcmtldGNhcHIpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShkcGx5cikKa2V5IDwtICc5NDhiODk3Mi04Yjg3LTQ2MzItOTc1YS0xZjU1N2U3NmNmZTInCmNvaW5tYXJrZXRjYXByOjpzZXR1cChrZXkpCgpgYGAKCgo8YnI+PGgzPk1hcmtldCBDYXA8L2gzPjxicj4KVGhlIGZvbGxvd2luZyBmdW5jdGlvbiBwbG90cyB0aGUgdG9wIDE1IGN1cnJlbmNpZXMgd2l0aCB0aGUgbGFyZ2VzdCBtYXJrZXRjYXBzLCB0aGlzIHNob3dzIHVzIHdoaWNoIGNvaW5zIGFyZSBzYWZlciBpbnZlc3RtZW50cyBhcyBsYXJnZSBjYXAgY29pbnMgYXJlIGNvbnNpZGVyZWQgbW9yZSBjb25zZXJ2YXRpdmUuCmBgYHtyfQpjcnlwdG9zIDwtIGdldF9jcnlwdG9fbGlzdGluZ3MoKQptYXJrZXRfY2FwIDwtIGNyeXB0b3MkVVNEX21hcmtldF9jYXAKbmFtZXMgPC0gY3J5cHRvcyRuYW1lCmNyeXB0b190YWJsZSA8LSBkYXRhLmZyYW1lKG5hbWVzLG1hcmtldF9jYXApCm9yZGVyZWQgPC0gb3JkZXIoY3J5cHRvX3RhYmxlKQpjcnlwdG9fb3JkZXJlZCA8LSBjcnlwdG9fdGFibGVbLC05XQpjcnlwdG9fb3JkZXJlZApiYXJwbG90KGNyeXB0b19vcmRlcmVkJG1hcmtldF9jYXBbMToxNV0sIGNvbD1yYWluYm93KDIwKSwgbmFtZXMuYXJnPSBjcnlwdG9fb3JkZXJlZCRuYW1lc1sxOjE1XSxsYXM9MikKCmBgYAoKPGJyPjxoMz5QZXJjZW50IENoYW5nZSAzMCBkYXlzPC9oMz48YnI+CldlIGNhbiBmdXJ0aGVyIGNyZWF0ZSBjaGFydHMgc2hvd2luZyB3aGljaCBjb2lucyBoYXZlIGhhZCBhIGxhcmdlIHBvc2l0aXZlIHBlcmNlbnQgY2hhbmdlIGluIHRoZSBwYXN0IDMwIGRheXMuCgpgYGB7cn0KY3J5cHRvcyA8LSBnZXRfY3J5cHRvX2xpc3RpbmdzKCkKdGhpcnR5ZHBlcmNlbnQgPC0gY3J5cHRvcyRVU0RfcGVyY2VudF9jaGFuZ2VfMzBkCm5hbWVzIDwtIGNyeXB0b3MkbmFtZQpjcnlwdG90aGlydHlkIDwtIGRhdGEuZnJhbWUobmFtZXMsdGhpcnR5ZHBlcmNlbnQpCnRoaXJ0eWRvcmRlcmVkIDwtIGNyeXB0b3RoaXJ0eWRbb3JkZXIoY3J5cHRvdGhpcnR5ZCR0aGlydHlkcGVyY2VudCwgZGVjcmVhc2luZyA9IFRSVUUpLCBdCnRoaXJ0eWRvcmRlcmVkCgpiYXJwbG90KHRoaXJ0eWRvcmRlcmVkJHRoaXJ0eWRwZXJjZW50WzE6MTVdLCBjb2w9cmFpbmJvdygyMCksIG5hbWVzLmFyZz0gdGhpcnR5ZG9yZGVyZWQkbmFtZXNbMToxNV0sbGFzPTIpCmBgYAoKCjxicj48aDM+UGVyY2VudCBDaGFuZ2UgNyBkYXlzPC9oMz48YnI+CldlIGNhbiBkbyBzb21ldGhpbmcgc2ltaWxhciB3aXRoIHRoZSBmb2xsb3dpbmcgYW5kIHNlZSB3aGljaCBjb2lucyBoYXZlIGhhZCBhIHNpZ25pZmljYW50IHBlcmNlbnQgY2hhbmdlIGluIHRoZSBwYXN0IDcgZGF5cy4KCmBgYHtyfQpjcnlwdG9zIDwtIGdldF9jcnlwdG9fbGlzdGluZ3MoKQpzZXZlbmRwZXJjZW50IDwtIGNyeXB0b3MkVVNEX3BlcmNlbnRfY2hhbmdlXzdkCm5hbWVzIDwtIGNyeXB0b3MkbmFtZQpjcnlwdG9zZXZlbmQgPC0gZGF0YS5mcmFtZShuYW1lcyxzZXZlbmRwZXJjZW50KQpzZXZlbmRvcmRlcmVkIDwtIGNyeXB0b3NldmVuZFtvcmRlcihjcnlwdG9zZXZlbmQkc2V2ZW5kcGVyY2VudCwgZGVjcmVhc2luZyA9IFRSVUUpLCBdCnNldmVuZG9yZGVyZWQKCmJhcnBsb3Qoc2V2ZW5kb3JkZXJlZCRzZXZlbmRwZXJjZW50WzE6MTVdLCBjb2w9cmFpbmJvdygyMCksIG5hbWVzLmFyZz0gc2V2ZW5kb3JkZXJlZCRuYW1lc1sxOjE1XSxsYXM9MikKYGBgCgoKPGJyPjxoMz5QZXJjZW50IENoYW5nZSAyNGg8L2gzPjxicj4KRnVydGhlciB3ZSBjYW4gZG8gdGhlIHNhbWUgdGhpbmcgb24gYSBzbWFsbGVyIHNjYWxlIHRvIHNlZSB3aGljaCBjdXJyZW5jaWVzIGhhdmUgY2hhbmdlZCB0aGUgbW9zdCBpbiB0aGUgcGFzdCAyNCBob3Vycy4KCmBgYHtyfQpjcnlwdG9zIDwtIGdldF9jcnlwdG9fbGlzdGluZ3MoKQp0d2VudHlmb3VycGVyY2VudCA8LSBjcnlwdG9zJFVTRF9wZXJjZW50X2NoYW5nZV8yNGgKbmFtZXMgPC0gY3J5cHRvcyRuYW1lCmNyeXB0b3R3ZW50eWZvdXIgPC0gZGF0YS5mcmFtZShuYW1lcyx0d2VudHlmb3VycGVyY2VudCkKdHdlbnR5Zm91cm9yZGVyZWQgPC0gY3J5cHRvdHdlbnR5Zm91cltvcmRlcihjcnlwdG90d2VudHlmb3VyJHR3ZW50eWZvdXJwZXJjZW50LCBkZWNyZWFzaW5nID0gVFJVRSksIF0KdHdlbnR5Zm91cm9yZGVyZWQKCmJhcnBsb3QodHdlbnR5Zm91cm9yZGVyZWQkdHdlbnR5Zm91cnBlcmNlbnRbMToxNV0sIGNvbD1yYWluYm93KDIwKSwgbmFtZXMuYXJnPSB0d2VudHlmb3Vyb3JkZXJlZCRuYW1lc1sxOjE1XSxsYXM9MikKYGBgCgo8YnI+PGgzPlBlcmNlbnQgQ2hhbmdlIDI0aDwvaDM+PGJyPgpXZSBjYW4gYWxzbyBjaGFydCB0aGUgdm9sdW1lIG9mIHRoZSBjdXJyZW5jeSBpbiBvcmRlciB0byBzZWUgaG93IG11Y2ggb2YgdGhlIGZpbmFuY2lhbCBhc3NldCBoYXMgYmVlbiB0cmFkZWQgaW4gdGhlIHBhc3QgZGF5LiBTZWVpbmcgYSBoaWdoIHZvbHVtZSBzaG93cyB1cyB0aGF0IGEgc3RvY2sgaGFzIGhpZ2ggc2VjdXJpdHkgYXMgaXQgaXMgbW9yZSBsaXF1aWQgYW5kIGlzIG1vcmUgYWN0aXZlbHkgdHJhZGluZy4KCmBgYHtyfQpjcnlwdG9zIDwtIGdldF9jcnlwdG9fbGlzdGluZ3MoKQp2b2x1bWUgPC0gY3J5cHRvcyRVU0Rfdm9sdW1lXzI0aApuYW1lcyA8LSBjcnlwdG9zJG5hbWUKY3J5cHRvdm9sdW1lIDwtIGRhdGEuZnJhbWUobmFtZXMsdm9sdW1lKQp2b2x1bWVvcmRlcmVkIDwtIGNyeXB0b3ZvbHVtZVtvcmRlcihjcnlwdG92b2x1bWUkdm9sdW1lLCBkZWNyZWFzaW5nID0gVFJVRSksIF0Kdm9sdW1lb3JkZXJlZAoKYmFycGxvdCh2b2x1bWVvcmRlcmVkJHZvbHVtZVsxOjE1XSwgY29sPXJhaW5ib3coMjApLCBuYW1lcy5hcmc9IHZvbHVtZW9yZGVyZWQkbmFtZXNbMToxNV0sbGFzPTIpCmBgYAoKYGBge3J9CiNsaWJyYXJpZXMKbGlicmFyeShkZVNvbHZlKQpsaWJyYXJ5KHNoaW55KQpsaWJyYXJ5KHNoaW55V2lkZ2V0cykKbGlicmFyeShjcnlwdG9yKQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkocGxvdGx5KQoKI1NldHRpbmcgdXAgZGF0YQpidGNfcHJpY2VfaGlzdG9yeV9mdWxsID0gZ2V0X2hpc3RvcmljYWxfcHJpY2UoIkJUQyIsICJVU0QiLCBsaW1pdCA9IDIwMDApCmJ0Y19wcmljZSA9IGJ0Y19wcmljZV9oaXN0b3J5X2Z1bGwkY2xvc2UKYnRjX3RpbWUgPSBhcy5EYXRlKGJ0Y19wcmljZV9oaXN0b3J5X2Z1bGwkdGltZSkKYnRjX2ZyYW1lID0gZGF0YS5mcmFtZShidGNfdGltZSwgYnRjX3ByaWNlKQoKI1Bsb3R0aW5nIGRhdGEKYnRjX3Bsb3QgPC0gZ2dwbG90KGJ0Y19mcmFtZSwgYWVzKHggPSBidGNfdGltZSwgeT1idGNfcHJpY2UpKSArCiAgZ2VvbV9saW5lKCkgKyAKICB4bGFiKCJUaW1lIikgKwogIHlsYWIoIkJpdGNvaW4gUHJpY2UiKQoKYnRjX3Bsb3QgPC0gZ2dwbG90bHkoYnRjX3Bsb3QpCmJ0Y19wbG90CgpgYGAKPGJyPjxoMz5CeTogQWFkaXR5YSBTdXJ5YTwvaDM+PGJyPg==